﻿namespace Acoris.Input
{
    using System;

#if NETFX_CORE || WINDOWS_UWP
    using Windows.UI.Text;
    using Windows.UI.Text.Core;
    using Windows.UI;
#endif

    partial class TextInputService
    {

#if NETFX_CORE||WINDOWS_UWP

        CoreTextEditContext _context;
        CoreTextServicesManager _manager;

        public TextInputService()
        {
            _manager = CoreTextServicesManager.GetForCurrentView();
            _context = _manager.CreateEditContext();
            _context.CompositionCompleted += OnCompositionCompleted;
            _context.CompositionStarted += OnCompositionStarted;
            _context.FocusRemoved += OnFocusRemoved;
            _context.FormatUpdating += OnFormatUpdating;
            _context.LayoutRequested += OnLayoutRequested;
            _context.NotifyFocusLeaveCompleted += OnNotifyFocusLeaveCompleted;
            _context.SelectionRequested += OnSelectionRequested;
            _context.SelectionUpdating += OnSelectionUpdating;
            _context.TextRequested += OnTextRequested;
            _context.TextUpdating += OnTextUpdating;   
        }

        private void OnTextUpdating(CoreTextEditContext sender, CoreTextTextUpdatingEventArgs args)
        {
            
        }

        private void OnTextRequested(CoreTextEditContext sender, CoreTextTextRequestedEventArgs args)
        {
            
        }

        private void OnSelectionUpdating(CoreTextEditContext sender, CoreTextSelectionUpdatingEventArgs args)
        {
            
        }

        private void OnSelectionRequested(CoreTextEditContext sender, CoreTextSelectionRequestedEventArgs args)
        {
            
        }

        private void OnNotifyFocusLeaveCompleted(CoreTextEditContext sender, object args)
        {
           
        }

        private void OnLayoutRequested(CoreTextEditContext sender, CoreTextLayoutRequestedEventArgs args)
        {
            
        }

        private void OnFormatUpdating(CoreTextEditContext sender, CoreTextFormatUpdatingEventArgs args)
        {
            
        }

        private void OnFocusRemoved(CoreTextEditContext sender, object args)
        {
            
        }

        private void OnCompositionStarted(CoreTextEditContext sender, CoreTextCompositionStartedEventArgs args)
        {
            
        }

        private void OnCompositionCompleted(CoreTextEditContext sender, CoreTextCompositionCompletedEventArgs args)
        {
            
        }
#endif

    }
}
